package ar.com.logic.components.interfaces;

import java.util.List;

import ar.com.logic.evaluador.Respuesta;

public interface IHistoricoRespuestas {

	public abstract boolean add(Respuesta respuesta);

	public abstract List<Integer> getNumerosNoUtilizados();
	
	public abstract Integer getCantidadNumerosNoUtilizados();

	public abstract boolean hayNumerosSinUsar();
	public abstract Respuesta obtenerUltimaRespuesta();
	public abstract Integer obtenerTotalCorrectosEnNUltimasRespuestas(
			Integer cantidadRespuestas);

	public abstract Integer obtenerTotalRegularesEnNUltimasRespuestas(
			Integer cantidadRespuestas);

	// Suma correctos y regulares de las ultimas N respuestas en el historial
	public abstract Integer obtenerTotalEncontradosEnNUltimasRespuestas(
			Integer cantidadRespuestas);

	public abstract List<Respuesta> obtenerRespuestasConBien();

	public abstract List<Respuesta> obtenerRespuestasConBienExcluyente();

	public abstract List<Respuesta> obtenerRespuestasConRegular();

	public abstract List<Respuesta> obtenerRespuestasConRegularExcluyente();

	public abstract List<Respuesta> obtenerRespuestasConNBien(Integer cantidad);

	public abstract List<Respuesta> obtenerRespuestasConNRegular(
			Integer cantidad);

	public abstract Integer getUltimoTurno();

	public abstract boolean contains(Respuesta r);

	public abstract void borrarNoUtilizados();

	public abstract List<Respuesta> obtenerResultadosConValor(Integer descartado);

	public abstract Respuesta obtenerPenUltimaRespuesta();

}